package com.atguigu.jxc.dao;

import com.atguigu.jxc.entity.Goods;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @description 商品信息
 */
public interface GoodsDao {


    String getMaxCode();

    Integer count();
    List<Goods> getlistInventory(@Param("page") Integer page, @Param("rows") Integer rows,
                                 @Param("codeOrName") String codeOrName, @Param("goodsTypeId") Integer goodsTypeId);



    List<Goods> getGoodsList(@Param("offSet") int offSet,
                             @Param("rows") Integer rows,
                             @Param("goodsName") String goodsName,
                             @Param("goodsTypeId") Integer goodsTypeId);
    Object getGoodsCount(@Param("goodsName") String goodsName,
                         @Param("goodsTypeId") Integer goodsTypeId);

    void update(Goods goods);

    void insert(Goods goods);

    Goods findByGoodsId(Integer goodsId);

    void delete(Integer goodsId);

    List<Goods> getNoInventoryQuantity(@Param("offSet") int offSet,
                                       @Param("rows") Integer rows,
                                       @Param("nameOrCode") String nameOrCode);

    Object getNoInventoryQuantityCount(String nameOrCode);

    List<Goods> getHasInventoryQuantity(int offSet, Integer rows, String nameOrCode);

    Object getHasInventoryQuantityCount(String nameOrCode);
}
